package br.com.automed.entity;

//import java.util.List;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
//import javax.persistence.ManyToMany;
import javax.persistence.ManyToOne;
//import javax.persistence.NamedQueries;
//import javax.persistence.NamedQuery;
import javax.persistence.Table;

import org.hibernate.annotations.GenericGenerator;


//@NamedQueries({
//    @NamedQuery(name="listarTelefonesUsuario", query="FROM Telefone t, IN(t.usuarios) u WHERE u.idUsuario = :idUsuario"),
//    @NamedQuery(name="listarTelefonesClinica", query="FROM Telefone t, IN(t.clinicas) c WHERE c.idClinica = :idClinica")
//})
@Entity
@Table(name="CM_TELEFONE")
public class Telefone {
	
//	public static final String NAMED_QUERY_LIST_BY_USUARIO = "listarTelefonesUsuario";
//	public static final String NAMED_QUERY_LIST_BY_CLINICA = "listarTelefonesClinica";
	
	@Id
    @GeneratedValue(generator = "system-uuid", strategy=GenerationType.AUTO)
    @GenericGenerator(name = "system-uuid", strategy = "uuid")
    @Column(name = "ID_TELEFONE")
	private String idTelefone;
	
	@Column(name = "ST_TELEFONE")
	private String telefone;

	@ManyToOne()
	@JoinColumn(name="FK_TIPO_TELEFONE", referencedColumnName="ID_TIPO_TELEFONE")
	private TipoTelefone tipoTelefone;
	
//	@ManyToMany(mappedBy="telefones")
//	private List<Clinica> clinicas;
//
//	@ManyToMany(mappedBy="telefones")
//	private List<Usuario> usuarios;
	
	public Telefone() {
		tipoTelefone = new TipoTelefone();
	}

	public String getIdTelefone() {
		return idTelefone;
	}

	public void setIdTelefone(String idTelefone) {
		this.idTelefone = idTelefone;
	}

	public String getTelefone() {
		return telefone;
	}

	public void setTelefone(String telefone) {
		this.telefone = telefone;
	}

	public TipoTelefone getTipoTelefone() {
		return tipoTelefone;
	}

	public void setTipoTelefone(TipoTelefone tipoTelefone) {
		this.tipoTelefone = tipoTelefone;
	}

//	public List<Clinica> getClinicas() {
//		return clinicas;
//	}
//
//	public void setClinicas(List<Clinica> clinicas) {
//		this.clinicas = clinicas;
//	}
//
//	public List<Usuario> getUsuarios() {
//		return usuarios;
//	}
//
//	public void setUsuarios(List<Usuario> usuarios) {
//		this.usuarios = usuarios;
//	}
	
}
